/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package beans;

import dao.CandidatoDAO;
import dao.EleitorDAO;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.primefaces.model.chart.PieChartModel;

/**
 *
 * @author programador
 */

@ManagedBean(name = "chartBean")
@RequestScoped
public class ChartBean implements Serializable {
    
   private PieChartModel pieModel;
   
   public ChartBean() {
      createPieModel();    
   }
   
   public PieChartModel getPieModel() {
      return pieModel;    
   }
   
   private void createPieModel() {
      
      pieModel = new PieChartModel();
      
      // Should fix this mess later... Or I've just got it right?
      
      CandidatoDAO candidatoDAO = new CandidatoDAO();
      try {
         List<CandidatoBean> candidatos = new ArrayList<CandidatoBean>();
         candidatos = candidatoDAO.getTodosCandidatos();
         for(CandidatoBean c: candidatos) {
            String nome = c.getNome();
            EleitorDAO eleitorDAO = new EleitorDAO();
            Integer votos = eleitorDAO.getVotoEspecifico(nome);
            pieModel.set(nome, votos);
         }
      }
      catch(Exception e) {
         System.out.println("Erro ao tentar gerar gráfico de pizza."
                           + " Esse catch é tão genérico que fica"
                           + " difícil rastrear."
                           + " Causa possível: " + e);
      }      
      
   }

}